﻿Imports System
Imports System.Collections.Generic
Imports System.Collections.ObjectModel

Namespace System.Workflow.ComponentModel.Design
    Friend NotInheritable Class DesignerVerbProviderService
        Implements IDesignerVerbProviderService
        ' Methods
        Public Sub New()
            DirectCast(Me, IDesignerVerbProviderService).AddVerbProvider(New FreeFormDesignerVerbProvider)
        End Sub

        Private Sub System.Workflow.ComponentModel.Design.IDesignerVerbProviderService.AddVerbProvider(ByVal verbProvider As IDesignerVerbProvider) Implements IDesignerVerbProviderService.AddVerbProvider
            If Not Me.designerVerbProviders.Contains(verbProvider) Then
                Me.designerVerbProviders.Add(verbProvider)
            End If
        End Sub

        Private Sub System.Workflow.ComponentModel.Design.IDesignerVerbProviderService.RemoveVerbProvider(ByVal verbProvider As IDesignerVerbProvider) Implements IDesignerVerbProviderService.RemoveVerbProvider
            Me.designerVerbProviders.Remove(verbProvider)
        End Sub


        ' Properties
        Private ReadOnly Property System.Workflow.ComponentModel.Design.IDesignerVerbProviderService.VerbProviders As ReadOnlyCollection([Of] IDesignerVerbProvider)
            Get
                Return Me.designerVerbProviders.AsReadOnly
            End Get
        End Property


        ' Fields
        Private designerVerbProviders As List([Of] IDesignerVerbProvider) = New List([Of] IDesignerVerbProvider)
    End Class
End Namespace

